var runtime.trace

151 uses

	runtime (current package)
		trace.go#L133: var trace struct {
		trace.go#L223: 	lockInit(&trace.bufLock, lockRankTraceBuf)
		trace.go#L224: 	lockInit(&trace.stringsLock, lockRankTraceStrings)
		trace.go#L225: 	lockInit(&trace.lock, lockRankTrace)
		trace.go#L226: 	lockInit(&trace.stackTab.lock, lockRankTraceStackTab)
		trace.go#L263: 	return trace.enabled
		trace.go#L270: 	return trace.shutdown
		trace.go#L294: 	lock(&trace.bufLock)
		trace.go#L296: 	if trace.enabled || trace.shutdown {
		trace.go#L297: 		unlock(&trace.bufLock)
		trace.go#L318: 	trace.cpuLogRead = profBuf
		trace.go#L327: 	atomicstorep(unsafe.Pointer(&trace.cpuLogWrite), unsafe.Pointer(profBuf))
		trace.go#L336: 			id := trace.stackTab.put([]uintptr{logicalStackSentinel, startPCforTrace(gp.startpc) + sys.PCQuantum})
		trace.go#L355: 			id := trace.stackTab.put([]uintptr{logicalStackSentinel, startPCforTrace(0) + sys.PCQuantum}) // no start pc
		trace.go#L376: 	trace.startTime = traceClockNow()
		trace.go#L377: 	trace.startTicks = cputicks()
		trace.go#L378: 	trace.startNanotime = nanotime()
		trace.go#L379: 	trace.headerWritten = false
		trace.go#L380: 	trace.footerWritten = false
		trace.go#L385: 	trace.stringSeq = 0
		trace.go#L386: 	trace.strings = make(map[string]uint64)
		trace.go#L388: 	trace.seqGC = 0
		trace.go#L390: 	trace.enabled = true
		trace.go#L395: 		trace.markWorkerLabels[i], bufp = traceString(bufp, pid, label)
		trace.go#L399: 	unlock(&trace.bufLock)
		trace.go#L421: 	lock(&trace.bufLock)
		trace.go#L423: 	if !trace.enabled {
		trace.go#L424: 		unlock(&trace.bufLock)
		trace.go#L432: 	atomicstorep(unsafe.Pointer(&trace.cpuLogWrite), nil)
		trace.go#L433: 	trace.cpuLogRead.close()
		trace.go#L445: 	if trace.buf != 0 {
		trace.go#L446: 		buf := trace.buf
		trace.go#L447: 		trace.buf = 0
		trace.go#L452: 	if trace.cpuLogBuf != 0 {
		trace.go#L453: 		buf := trace.cpuLogBuf
		trace.go#L454: 		trace.cpuLogBuf = 0
		trace.go#L466: 		trace.endTime = traceClockNow()
		trace.go#L467: 		trace.endTicks = cputicks()
		trace.go#L468: 		trace.endNanotime = nanotime()
		trace.go#L470: 		if trace.endNanotime != trace.startNanotime || faketime != 0 {
		trace.go#L476: 	trace.enabled = false
		trace.go#L477: 	trace.shutdown = true
		trace.go#L478: 	unlock(&trace.bufLock)
		trace.go#L486: 	semacquire(&trace.shutdownSema)
		trace.go#L488: 		raceacquire(unsafe.Pointer(&trace.shutdownSema))
		trace.go#L493: 		lock(&trace.lock)
		trace.go#L499: 		if trace.buf != 0 {
		trace.go#L502: 		if trace.fullHead != 0 || trace.fullTail != 0 {
		trace.go#L505: 		if trace.reading != 0 || trace.reader.Load() != nil {
		trace.go#L508: 		for trace.empty != 0 {
		trace.go#L509: 			buf := trace.empty
		trace.go#L510: 			trace.empty = buf.ptr().link
		trace.go#L513: 		trace.strings = nil
		trace.go#L514: 		trace.shutdown = false
		trace.go#L515: 		trace.cpuLogRead = nil
		trace.go#L516: 		unlock(&trace.lock)
		trace.go#L534: 			if !trace.reader.CompareAndSwapNoWB(nil, gp) {
		trace.go#L579: 	if !trace.footerWritten && !trace.shutdown {
		trace.go#L586: 	lock(&trace.lock)
		trace.go#L588: 	if trace.reader.Load() != nil {
		trace.go#L592: 		unlock(&trace.lock)
		trace.go#L597: 	if buf := trace.reading; buf != 0 {
		trace.go#L598: 		buf.ptr().link = trace.empty
		trace.go#L599: 		trace.empty = buf
		trace.go#L600: 		trace.reading = 0
		trace.go#L603: 	if !trace.headerWritten {
		trace.go#L604: 		trace.headerWritten = true
		trace.go#L605: 		unlock(&trace.lock)
		trace.go#L609: 	if trace.fullHead == 0 && !trace.shutdown {
		trace.go#L613: 		unlock(&trace.lock)
		trace.go#L617: 	assertLockHeld(&trace.lock)
		trace.go#L619: 	if trace.fullHead != 0 {
		trace.go#L621: 		trace.reading = buf
		trace.go#L622: 		unlock(&trace.lock)
		trace.go#L627: 	if !trace.footerWritten {
		trace.go#L628: 		trace.footerWritten = true
		trace.go#L629: 		freq := (float64(trace.endTicks-trace.startTicks) / traceTimeDiv) / (float64(trace.endNanotime-trace.startNanotime) / 1e9)
		trace.go#L633: 		unlock(&trace.lock)
		trace.go#L644: 		bufp = trace.stackTab.dump(bufp)
		trace.go#L647: 		lock(&trace.lock)
		trace.go#L652: 	if trace.shutdown {
		trace.go#L653: 		unlock(&trace.lock)
		trace.go#L658: 			racerelease(unsafe.Pointer(&trace.shutdownSema))
		trace.go#L661: 		semrelease(&trace.shutdownSema)
		trace.go#L665: 	unlock(&trace.lock)
		trace.go#L681: 	lock(&trace.lock)
		trace.go#L683: 	if gp == nil || !trace.reader.CompareAndSwapNoWB(gp, nil) {
		trace.go#L684: 		unlock(&trace.lock)
		trace.go#L687: 	unlock(&trace.lock)
		trace.go#L695: 	if trace.fullHead != 0 || trace.shutdown {
		trace.go#L696: 		return trace.reader.Load()
		trace.go#L712: 	lock(&trace.lock)
		trace.go#L714: 	unlock(&trace.lock)
		trace.go#L720: 	if trace.fullHead == 0 {
		trace.go#L721: 		trace.fullHead = buf
		trace.go#L723: 		trace.fullTail.ptr().link = buf
		trace.go#L725: 	trace.fullTail = buf
		trace.go#L730: 	buf := trace.fullHead
		trace.go#L734: 	trace.fullHead = buf.ptr().link
		trace.go#L735: 	if trace.fullHead == 0 {
		trace.go#L736: 		trace.fullTail = 0
		trace.go#L760: 	if !trace.enabled && !mp.trace.startingTrace {
		trace.go#L850: 	if !trace.enabled {
		trace.go#L875: 	for !trace.signalLock.CompareAndSwap(0, 1) {
		trace.go#L880: 	if log := (*profBuf)(atomic.Loadp(unsafe.Pointer(&trace.cpuLogWrite))); log != nil {
		trace.go#L887: 	trace.signalLock.Store(0)
		trace.go#L891: 	bufp := &trace.cpuLogBuf
		trace.go#L894: 		data, tags, _ := trace.cpuLogRead.read(profBufNonBlocking)
		trace.go#L945: 			stackID := trace.stackTab.put(buf.stk[:nstk])
		trace.go#L1000: 	id := trace.stackTab.put(pcBuf[:nstk])
		trace.go#L1036: 	lock(&trace.bufLock)
		trace.go#L1037: 	return mp, traceGlobProc, &trace.buf
		trace.go#L1043: 		unlock(&trace.bufLock)
		trace.go#L1051: 	lockWithRankMayAcquire(&trace.lock, getLockRank(&trace.lock))
		trace.go#L1060: 	lock(&trace.lock)
		trace.go#L1064: 	if trace.empty != 0 {
		trace.go#L1065: 		buf = trace.empty
		trace.go#L1066: 		trace.empty = buf.ptr().link
		trace.go#L1087: 	unlock(&trace.lock)
		trace.go#L1097: 	lock(&trace.stringsLock)
		trace.go#L1101: 		raceacquire(unsafe.Pointer(&trace.stringsLock))
		trace.go#L1104: 	if id, ok := trace.strings[s]; ok {
		trace.go#L1106: 			racerelease(unsafe.Pointer(&trace.stringsLock))
		trace.go#L1108: 		unlock(&trace.stringsLock)
		trace.go#L1113: 	trace.stringSeq++
		trace.go#L1114: 	id := trace.stringSeq
		trace.go#L1115: 	trace.strings[s] = id
		trace.go#L1118: 		racerelease(unsafe.Pointer(&trace.stringsLock))
		trace.go#L1120: 	unlock(&trace.stringsLock)
		trace.go#L1499: 	traceEvent(traceEvGCStart, 3, trace.seqGC)
		trace.go#L1500: 	trace.seqGC++
		trace.go#L1578: 	id := trace.stackTab.put([]uintptr{logicalStackSentinel, startPCforTrace(pc) + sys.PCQuantum})
		trace.go#L1587: 		traceEvent(traceEvGoStartLabel, -1, gp.goid, gp.trace.seq, trace.markWorkerLabels[pp.ptr().gcMarkWorkerMode])
		trace.go#L1659: 	if ts != 0 && ts < trace.startTime {
		trace.go#L1707: 	if !trace.enabled {
		trace.go#L1713: 	if !trace.enabled && !mp.trace.startingTrace {
		trace.go#L1730: 	if !trace.enabled {
		trace.go#L1735: 	if !trace.enabled && !mp.trace.startingTrace {
		trace.go#L1747: 	if !trace.enabled {
		trace.go#L1752: 	if !trace.enabled && !mp.trace.startingTrace {